]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
Don't show the overview unless removing the workspace
authorOwen W. Taylor <otaylor@fishsoup.net>
Fri, 11 Mar 2011 23:37:40 +0000 (18:37 -0500)
committerOwen W. Taylor <otaylor@fishsoup.net>
Sat, 12 Mar 2011 00:21:06 +0000 (19:21 -0500)
Don't enter the overview at startup, or when we we remove the
last window on the first workspace, but only when we remove a
workspace and there are windows on the other workspaces.

https://bugzilla.gnome.org/show_bug.cgi?id=644541

js/ui/main.js

index a57ba2433b58115590bf3d67a9b396b99fca54a6..24dab3193682c434caac985d45a440e39bf85cef 100644 (file)
@@ -263,9 +263,13 @@ function _checkWorkspaces() {
     }
 
     let activeWorkspaceIndex = global.screen.get_active_workspace_index();
-    let currentWorkspaceEmpty = emptyWorkspaces[activeWorkspaceIndex];
+    let removingCurrentWorkspace = (emptyWorkspaces[activeWorkspaceIndex] &&
+                                    activeWorkspaceIndex < emptyWorkspaces.length - 1);
+    // Don't enter the overview when removing multiple empty workspaces at startup
+    let showOverview  = (removingCurrentWorkspace &&
+                         !emptyWorkspaces.every(function(x) { return x; }));
 
-    if (currentWorkspaceEmpty) {
+    if (removingCurrentWorkspace) {
         // "Merge" the empty workspace we are removing with the one at the end
         wm.blockAnimations();
     }
@@ -276,11 +280,11 @@ function _checkWorkspaces() {
             global.screen.remove_workspace(_workspaces[i], global.get_current_time());
     }
 
-    if (currentWorkspaceEmpty) {
+    if (removingCurrentWorkspace) {
         global.screen.get_workspace_by_index(global.screen.n_workspaces - 1).activate(global.get_current_time());
         wm.unblockAnimations();
 
-        if (!overview.visible)
+        if (!overview.visible && showOverview)
             overview.show();
     }